//Promise 相当于一个异步容器,将异步任务提交到promise中即可
//Promise：英文承诺意思
//Promise有三个状态：pendding(初始)，rejected(失败)，resolved(成功)
//Promise是Es6新加的
//Promise对象状态的切换只有两种可能：pendding->rejected，pendding->resolved
//基础用法：new Promise((resolved,rejected)=>{})
//Promise对象resolved,rejected函数，在异步事件状态pendding->resolved回调成功时，会调用resolved函数；当异步操作失败时，回调用rejected函数。
//Promise的then(resolved,rejected)函数参数有两个，一个resolved函数，一个rejected函数。
var fs = require("fs");
var p1 = new Promise(function(resolve,reject){
	fs.readFile("./tmp.txt","utf-8",function(err,data){//readFile方法是异步
		if(err){
			reject(err);//失败时执行这个回调函数
		}else{
			resolve(data);//成功时执行这个回调函数
		}
	});
});
//then接受的两个参数分别为 成功时的回调函数和失败时的回调函数(Promise中的resolve和reject)
p1.then(
	function(data){
		console.log("读取成功:"+data);
	},
	function(err){
		console.error("读取异常",err);
	}
);